The known concept of virtual addressing (or virtual memory) makes it possible to offer the system and its users a logical memory capacity much greater than the capacity of the physical memory. In combination with the concept of segmentation, which is also known and makes it possible to divide the virtual memory into zones (called segments) independent of one another, virtual memory has proved to be particularly well adapted to multi-programming and multi-processing.
The frequent significant increase in the capacity of the physical components of the memory of an information processing system (1 MB DRAMs, or dynamic random access memories, are currently available on the market) requires a corresponding expansion of the virtual memories. However, designers of operating systems for information processing systems are confronted with various addressing problems, among which are the following:
the size of the addressing format becomes inadequate and must be expanded; PA1 the new, expanded addressing operating system must be compatible with the old one, so that at least for a sufficiently long transition period it will still be possible to run existing user programs designed under the old operating system. PA1 a first memory domain DX is organized around a logical address of NX bits in size, PA1 in the memory domain DX, a plurality of address spaces EAX of identical structure and allowing relative addressing NL bits in size, where NL is less than NX, is defined, PA1 one of the address spaces EAX (hereinafter called current address space EAC) is assigned temporarily and interchangeably to a second memory domain DL organized around an address of NL bits in size. PA1 for the address spaces of size NL, the spaces EAX and as applicable the space EAPCB, procedure descriptions PD of identical basic structure are selected; PA1 descriptors of a change of address space (hereinafter CASD), identical in basic structure to that of the procedure descriptors PD, are defined; PA1 beginning with a process that can be executed in a given address space, the callup of a procedure that can be executed in another address space, via a descriptor of the CASD type, is authorized.